Automatic test equipment performs many of the manufacturing and diagnostic tests which previously had to be completed by tedious manual testing procedures, as well as tests which are otherwise impossible, such as dynamic realtime tests. Such automatic test equipment (called "a tester" for short) is also particularly useful for performing in-circuit device or sub-assembly testing. For example, in-circuit testing is the testing normally performed after several devices have been electrically connected together in a circuit, such as by soldering them to a printed circuit board.
A popular circuit design technique is to connect the output terminals of several circuit devices to a common node, or bus. Since only one device can be enabled at a given time with this arrangement, the devices must have an output stage which not only can assert the normal logic-high or logic-low signals but which can also be disabled. The disabled condition places the outputs of the devices in a high-impedance state. Two types of logic devices haVing these properties are the so-called open-collector devices and three-state devices.
Proper in-circuit automatic testing of a given bus-connected device thus requires all other devices on the same bus to be placed in the disabled state. This frees the bus so that the given device's asserted output can be observed. However, even though the given device may not be driving its output to assert a particular logic level, the bus may still be at an asserted logic level because some other, defective device drives the bus. In other words, the effect of the defective device may be to make it impossible to free the bus to the inactive state, and thus the bus is said to be "stuck" at a particular asserted logic level.
One method to test a bus to determine which, if any, device is keeping it stuck is shown in U.S. Pat. No. 4,459,693 issued to Prang et al. on July 10, 1984, and assigned to GenRad Corporation, the assignee of this invention. According to that method the bus is first tested by applying, to all bus devices, signals that will disable their output terminals connected to the bus if the devices are operating properly. If the result is that the bus assumes a non-asserted state, then normal in-circuit testing of each device can proceed. On the other hand, if the bus assumes an asserted state, further steps must be taken to determine if a defective bus device is keeping the bus stuck. Specifically, a so-called back-driving voltage source is used to drive the bus with enough current to bring the bus back to an unasserted level. The resulting bus current is then measured. The tester then continues with a diagnosis of the bus condition. This proceeds by enabling a selected device and re-measuring the bus current. If, by enabling the selected device, the bus current is changed, the tester concludes that the selected device is operating properly. If the current has not changed, then the selected device was actually enabled before the diagnosis began. The selected device is thus probably the one causing the bus to be stuck.
Although the Prang et al. method is quite advantageous it can give ambiguous or erroneous results in certain cases. For example, the current that the defective device draws may change between the first and second current measurements. This can be due to input signal changes, noise, unpredictable behavior of faulty circuits, and other reasons. It is therefore necessary to require a certain minimum threshold current change before pronouncing a device operational, or else the tester could erroneously conclude that a defective device is operational.
However, this minimum threshold current approach is also not without its problems. Because different bus devices have different output current capabilities, one device's current drift may be greater than the total current output that another device provides. This can result in an erroneous indication that a device is operating properly. Consider also the situation where the stuck device is one which can drive a lot of current, and the device to be activated can only drive a relatively small amount of current. Because the activated device only adds a small amount of current when enabled, there may be an erroneous conclusion that it is defective.
In another instance a smaller current-handling device may tend to heat up faster than other high-current devices. So, after a test sequence has been occurring for a while, the relatively hotter low-current device may draw proportionally more current than it did originally. This change in current capability with time can make it difficult to set absolute criteria for testing certain devices.
For these and other reasons, some bus devices are hard to test with a strict application of the Prang et al. method.